The present disclosure generally relates to a messaging-oriented middleware system and, more particularly, to sending messages using connections with improved persistence during software updates.
Messaging-oriented middleware systems (also referred to herein as “messaging systems”) facilitate communication between client applications distributed across diverse operating environments. For example, a messaging system enables communication between client applications executed by different servers with different operating systems. Non-persistent messaging systems store messages and state information in program memory allocated to the messaging system. However, if the computer providing the allocated memory malfunctions or restarts, the stored messages and state information are lost. As a result, the messaging system fails to deliver messages sent by its client applications and will fail to inform the affected client applications which messages were lost.
Storing messages and state information in program memory of the messaging system also complicates upgrades, patches, and other changes to software of the messaging system. To prevent unexpected malfunctions, changes to messaging systems are performed in an outage window where end users cannot use applications that rely on the messaging system for functionality. These outage windows increase the cost of system upgrades and serve as a logistical barrier that decreases the frequency of upgrades. Additionally, outage windows increase the risk associated with a software update because bugs arising from the software update cannot be fixed without a further outage window.